package com.zjhn.ds.service;

import com.zjhn.ds.common.BizResult;
import com.zjhn.ds.common.PageResult;
import com.zjhn.ds.domain.dto.pc.SpotCheckDetailDto;
import com.zjhn.ds.domain.dto.pc.StationStatusDto;
import com.zjhn.ds.domain.dto.pc.*;
import com.zjhn.ds.domain.entity.jlw.Group;
import com.zjhn.ds.param.*;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface MonitorService {

    // 迪赛针织设备运行监控台
    BizResult<List<DsDeviceMonitorDto>> dsDeviceMonitor(List<String> groupIds);

    // 迪赛针织生产指挥中心
    BizResult<DsControlCenterDto> dsControlCenter();

    // 迪赛针织编制车间现场监控中心
    BizResult<DsMonitorCenterDto> dsMonitorCenter();

    // pc端机台监控页面
    BizResult<PageResult<PcMonitorDto>> pcStationMonitor(PcMonitorPageParam param);

    // 查询车间小组
    BizResult<List<Group>> groupList();

    // pc端机台监控页面
    BizResult<PcMonitorDetailDto> stationRecordMonitor(StationRecordMonitorParam param);

    // pc端机台监控页面获取机台状态信息
    BizResult<List<StationStatusDto>> stationStatus(StationStatusParam param);

    // pc端机台时长监控页面导出
    BizResult<?> stationRecordMonitorExport(StationRecordMonitorParam param, HttpServletResponse response);

    // pc端编制抽检明细报表
    BizResult<PageResult<SpotCheckDetailDto>> spotCheckDetail(SpotCheckDetailParam param);

    // pc端编制抽检明细报表导出
    BizResult<?> spotCheckDetailExport(SpotCheckDetailParam param, HttpServletResponse response);

    // pc端编制抽检统计报表
    BizResult<PageResult<SpotCheckStatisticsDto>> spotCheckStatistics(SpotCheckStatisticsParam param);

    // pc端编制抽检统计报表导出
    BizResult<?> spotCheckStatisticsExport(SpotCheckStatisticsParam param, HttpServletResponse response);

    // pc端编制抽检明细删除
    BizResult<?> spotCheckDetailDelete(String spotCheckId);
}
